package Day13.Demo03.Map;

/**
 * @author hyhWTX
 * @version 1.0
 * @ClassName Demo03MapTest
 * @date 2022年07月17日 16:07
 * @Description: Map集合的练习
 */

import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

/**
 *练习:
 * 计算一个字符串中每个字符出现次数。
 * 分祈:
 * 1.使用scanner获职用户输入的字符串
 * 2.创建Map集合, key是字行串中的字符, vaLue是字符的个数
 * 3.通历字符串,获取每—个字符
 * 4.使用获取到的字符,去Map集合判断key是否存在
 *      key存在:
 *          通过字符(hey),获取vaLue(字符个数)
 *          vaLue++
 *          put(key , vaLue)把新的value存储到Map集合中
 *      key不存在;
 *          put ( key,1)
 * 5.遍历Map集合,输出结果
 */

public class Demo03MapTest {
    public static void main(String[] args) {
        //1.使用scanner获职用户输入的字符串
        Scanner in = new Scanner(System.in);
        System.out.println("请输入一个字符串：");
        String str = in.next();
        //2.创建Map集合, key是字行串中的字符, vaLue是字符的个数
        HashMap<Character, Integer> map = new HashMap<>();
        //3.通历字符串,获取每—个字符
        for (char c : str.toCharArray()) {
            //4.使用获取到的字符,去Map集合判断key是否存在
            if (map.containsKey(c)) {
                //key存在
                Integer value = map.get(c);
                value++;
                map.put(c,value);
            }else {
               //key不存在
                map.put(c,1);

            }
        }
//        5.遍历Map集合,输出结果
        for (Character key : map.keySet()) {
            Integer value = map.get(key);
            System.out.println(key+"出现次数有："+value+" 次");
        }
    }
}
